Routines (alphabetical) > Routines: R > RESOLVE_ALL

RESOLVE_ALL

The RESOLVE_ALL procedure iteratively resolves (by compiling) any uncompiled procedures or functions that are called in any already-compiled procedure or function. The process ends when there are no unresolved routines left to compile. If an unresolved procedure or function is not in the IDL search path, RESOLVE_ALL exits with an error, and no additional routines are compiled.

RESOLVE_ALL is primarily used to construct an IDL SAVE file containing the compiled code for a package of routines.

This routine is written in the IDL language. Its source code can be found in the file resolve_all.pro in the lib subdirectory of the IDL distribution.

Syntax

RESOLVE_ALL [, CLASS=string] [, /CONTINUE_ON_ERROR] [, /QUIET] [, RESOLVE_EITHER=string] [, RESOLVE_FUNCTION=string] [, RESOLVE_PROCEDURE=string] [, SKIP_ROUTINES=string] [, UNRESOLVED=variable]

Note: To properly resolve routines, make sure you run RESOLVE_ALL in an IDL session in which no compilation errors have occurred. This is important because if IDL has previously attempted (and failed) to compile a routine, that routine will be added to IDL’s list of user-defined routines as an uncompiled routine. A subsequent call to RESOLVE_ALL will attempt to compile the uncompiled routine, potentially causing another error.

You can ensure that an IDL session is “clean” either by exiting and restarting IDL or by issuing the .RESET_SESSION executive command.

Arguments

None

Keywords

CLASS

Set this keyword to a string or string array containing object class names.

RESOLVE_ALL’s rules for finding uncompiled functions and procedures are not able to find object definitions or methods, because those things are not known to IDL until the object classes are actually instantiated and the methods called. However, if the CLASS keyword is set, RESOLVE_ALL will ensure that the *__define.pro files for the specified classes and their superclasses are compiled and executed. RESOLVE_ALL then locates all methods for the specified classes and their superclasses, and makes sure they are also compiled.

CONTINUE_ON_ERROR

Set this keyword to allow continuation upon error.

QUIET

Set this keyword to suppress informational messages.

RESOLVE_EITHER

Set this keyword to a string or string array of routine names to resolve. Use this keyword instead of RESOLVE_FUNCTION or RESOLVE_PROCEDURE if you do not know the type of the routine being resolved. If the routines are already compiled, they are not recompiled.

RESOLVE_FUNCTION

Set this keyword to a string or string array of function names to resolve. If the functions are already compiled, they are not recompiled.

RESOLVE_PROCEDURE

Set this keyword to a string or string array of procedure names to resolve. If the procedures are already compiled, they are not recompiled.

SKIP_ROUTINES

Set this keyword to a string array containing the names of routines not to resolve. Using this keyword is useful when a library file containing the designated routines will be later included.

UNRESOLVED

Set this keyword to a variable that will contain the names of the unresolved procedures and functions if CONTINUE_ON_ERROR is set. Routines in the SKIP_ROUTINES list are also included in the result.

Version History

4.0

Introduced

6.0

Added CLASS keyword

See Also

.COMPILE, RESOLVE_ROUTINE, ROUTINE_INFO